<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../VueJs/vue.js"></script>
</head>

<body>
    <!-- 
    data 与el的2种写法
    1.el有2种写法
        (1).new Vue时候配置ei属性。
        (2).先创建Vue实例，随后再通过vm.$mount('#root')指定el的值。
    2.data有2种写法
        (1).对象式(2).函数式
        如何选择:目前哪种写法都可以，以后学习到组件时，data必须使用函数式，否则会报错。
    3.一个重要的原则:
        由Vue管理的函数，一定不要写箭头函数，一旦写了箭头函数，this就不再是Vue实例了。 
    -->

    <div id="root">
        <h1>hello {{name}}</h1>
    </div>
</body>
<script>
    Vue.config.productionTip = false;
    // (1)ele的第一种写法，data的第一种写法:对象式
    /* new Vue({
        el: '#root',
        data: {
            name: 'mimi'
        }
    }); */
    // (2)ele的第二种写法
    /* const v = new Vue({
        data: {
            name: 'mimi'
        }
    });
    console.log(v);
    setTimeout(() => {
        v.$mount('#root');//代替ele,回头指定更灵活，原型上的方法$mount
    }, 1000); */
    //(3)data的第二种写法:函数式(不用箭头函数用函数表达式),必须有返回值，且是对象
    new Vue({
        el: '#root',
        data: function () {
            console.log(this);//此处的this为vue实例对象
            return {
                name: 'mi'
            }
        }
    });
</script>

</html>